<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // 静态方法 --- 构造函数自己的方法 

        //  语法 Promise.all([p1,p2,p3...])

        //   Promise.all()   
        //      当所有的实例都成功，则结果成功(data数组)
        //      谁先失败，就把谁的结果作为最终的结果(是失败的结果)  --- 


        const p1 = new Promise(function(resolve , reject){
            // 
            setTimeout(() => {
                const n = parseInt(Math.random() * 100) ;
                if(n % 2 === 0) {
                    resolve('我第一次中奖号码:' + n)
                } else {
                    // fail('没有中奖，号码是:' + n) ;
                    reject('我第一次没有中奖，号码是:' +n)
                }
            } , 1000)
        })


        const p2 = new Promise(function(resolve , reject){
            // 
            setTimeout(() => {
                const n = parseInt(Math.random() * 100) ;
                if(n % 2 === 0) {
                    resolve('我第二次中奖号码:' + n)
                } else {
                    // fail('没有中奖，号码是:' + n) ;
                    reject('我第二次没有中奖，号码是:' +n)
                }
            } , 1000)
        })


        const p3 = new Promise(function(resolve , reject){
            // 
            setTimeout(() => {
                const n = parseInt(Math.random() * 100) ;
                if(n % 2 === 0) {
                    resolve('我第三次中奖号码:' + n)
                } else {
                    // fail('没有中奖，号码是:' + n) ;
                    reject('我第三次没有中奖，号码是:' +n)
                }
            } , 1000)
        })


        const res = Promise.all([p1 , p2 , p3]) ;
        console.log(res);

        res
        .then(
            data => {
                console.log(data);
            }
        )
        .catch(err => {
            console.log(err);
        })

    </script>
    
</body>
</html>